/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Alejo
 */

import java.util.Scanner;
import java.util.InputMismatchException;

public class Mainradios {

    /**
     * 
     */
    
    public static void main(String[] args) {
        
      boolean control = false;
      int opcion,botoning = 0;
      Miradios radio = new Miradios();
      Scanner teclado = new Scanner(System.in);
  
    
    
     do{
            menu();
            
            System.out.println("+--      ESTADO DEL RADIO  --+");
            System.out.println(radio);
            //-----------------------------------------------------
            opcion = (int)verificar(0);
            
            if (opcion < 0)
                opcion = 0;
            //-----------------------------------------------------
            switch(opcion){
                case 1: // Seleccion para encender o apagar el radio
			control = (radio.power());
                break;
                    
                case 2: // Cambiar AM/FM o FM/AM
                        if (control)
                            radio.cambio();
                        else
                        {
                            System.out.println("La radio se encuentra apagada No es posible realizar accion");
                            System.out.println("Presione ENTER para continuar ");
                            teclado.nextLine();//Atrapar el ENTER
                        }
                break;
                
		case 3 : // adelantar emisora
                     if (control)
                            radio.fw();
                        else
                        {
                            System.out.println("La radio se encuentra apagada No es posible realizar accion");
                            System.out.println("Presione ENTER para continuar ");
                            teclado.nextLine();//Atrapar el ENTER
                        }
                        
		break;
                    
                case 4:// regresar emisora
                    if (control)
                            radio.bw();
                        else
                        {
                            System.out.println("La radio se encuentra apagada No es posible realizar accion");
                            System.out.println("Presione ENTER para continuar ");
                            teclado.nextLine();//Atrapar el ENTER
                        }
                        
                break;
                    
                case 5:
                        if (control) 
                        {
                            botoning = (int)verificar(1);
                            if ((botoning < 13)  && (botoning > 0))
                                            radio.store(botoning);
                            else
                                System.out.println("No ha ingresado el valor de un boton el valor debe estar entro 1 y 12");
                        }
                        else
                            System.out.println("La radio esta apagada No es posible realizar accion");
                            System.out.println("Presione ENTER para continuar ");
                            teclado.nextLine();//Atrapar el ENTER
                break;
                
                case 6: 
                        if (control) 
                        {
                            botoning = (int)verificar(1);
                            if ((botoning < 13)  && (botoning > 0))
                                     radio.select(botoning);
                            else
                                System.out.println("No ha ingresado el valor de un boton el valor debe estar entro 1 y 12");
                        }
                        else
                            System.out.println("La radio esta apagada No es posible realizar accion");
                            System.out.println("Presione ENTER para continuar ");
                            teclado.nextLine();//Atrapar el ENTER
                break;
                
                case 7: 
                    System.out.println("Feliz Dia Adios");
                break;
                
                default:
                    System.out.println("\nERROR: ~~> Opcion invalida.\n");            
            }
        }while(opcion!=7);
        
        
        
        // TODO code application logic here
    }
    
    public static void menu(){
        System.out.println();
        System.out.println("+--      MENU DE OPCIONES      --+");
        System.out.println("| 1.   Encender/Apagar           |");
        System.out.println("| 2.   Cambiar AM/FM o FM/AM     |");
        System.out.println("| 3.   Adelantar Emisora         |");
        System.out.println("| 4.   Regresar Emisora          |");
        System.out.println("| 5.   Guardar Estacion          |");
        System.out.println("| 6.   Seleccionar Estacion      |");
        System.out.println("| 7.   Salir de Programa         |");
        System.out.println("+--------------------------------+");
    }
	public static double verificar(int op){
        Scanner ingreso = new Scanner(System.in);
        double num = -1;
	if(op == 0)
			System.out.println("Ingrese su opcion por favor");
        if (op ==1)
                        System.out.println("Ingrese el numero del boton deseado ");
        try{
            num = ingreso.nextDouble();
        }
        catch(InputMismatchException exception){
                System.out.println("\nERROR: ~~> Dato invalido. ingrese un numero entero\n");
        }
        finally{
            ingreso.nextLine();//Atrapar el ENTER
        }
        return num;
    }
    
    
}
